oracle.pg.nosql

## Class OraclePropertyGraph

- java.lang.Object
- - oracle.pg.common.OraclePropertyGraphBase
  - - oracle.pg.nosql.OraclePropertyGraph

- All Implemented Interfaces:
    Graph, IndexableGraph, KeyIndexableGraph, TransactionalGraph, MesgConsts

      public class OraclePropertyGraph
      extends OraclePropertyGraphBase
      implements MesgConsts

  This class implements the Blueprints Graph interface on top of a supported backend database. Note that this implementation is not thread safe. To safely perform concurrent operations against a single graph, multiple instances of OraclePropertyGraph are recommended.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `OraclePropertyGraph.QueueAction`

    - ### Nested classes/interfaces inherited from class oracle.pg.common.OraclePropertyGraphBase

      `OraclePropertyGraphBase.OptimizationFlag`

    - ### Nested classes/interfaces inherited from interface com.tinkerpop.blueprints.TransactionalGraph

      `TransactionalGraph.Conclusion`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CONST_CLASS_EDGE`
    `static int` | `CONST_CLASS_VERTEX`
    `static String` | `CONST_DVID`
    `static String` | `CONST_EID`
    `static String` | `CONST_EL`
    `static String` | `CONST_GE`
    `static String` | `CONST_IDX_EI`
    `static String` | `CONST_IDX_KVS`
    `static String` | `CONST_IDX_XD`
    `static String` | `CONST_IDX_XS`
    `static String` | `CONST_IT`
    `static String` | `CONST_IT_K`
    `static String` | `CONST_KVS`
    `static Integer` | `CONST_MAX_TBLNAME_LENG`
    `static int` | `CONST_OP_MAX`
    `static int` | `CONST_OP_MIN`
    `static String` | `CONST_SVID`
    `static String` | `CONST_VID`
    `static String` | `CONST_VT`
    `static String` | `CONST_XD`
    `static String` | `CONST_XS`
    `static byte[]` | `ms_baEmpty`

    - ### Fields inherited from class oracle.pg.common.OraclePropertyGraphBase

      `TYPE_DT_BOOL, TYPE_DT_DATE, TYPE_DT_DOUBLE, TYPE_DT_EMPTY, TYPE_DT_FLOAT, TYPE_DT_INTEGER, TYPE_DT_SERI, TYPE_DT_STRING`

    - ### Fields inherited from interface oracle.pg.common.MesgConsts

      `ERR_ARG_CANNOT_BE_NULL, ERR_CODE_NOT_IN_LIST, ERR_DOP_CONSTRAINT, ERR_E_DS_MUSTBE_FILE_OR_IS, ERR_E_MAX_LINE_CONSTRAINT, ERR_EDGE_DIR_NOT_BOTH, ERR_GRAPH_NAME_CANT_BENULL, ERR_HIT_EXCEPTION, ERR_HIT_INTERRUPT, ERR_HIT_IO, ERR_HIT_OPGE, ERR_HIT_PARSEE, ERR_ID_CANNOT_BE_NULL, ERR_IDX_KEY_CANNOT_BE_NULL, ERR_IN_DS_EDGE_CANTBE_NULL, ERR_IN_DS_VERT_CANTBE_NULL, ERR_IN_E_FLAT_DOESNT_EXIST, ERR_IN_V_FLAT_DOESNT_EXIST, ERR_INVALID_NUM_FIELDS, ERR_INVALID_NUM_NOARG, ERR_INVALID_NUMBER, ERR_INVALID_VAL, ERR_KEY_CANNOT_BE_ID, ERR_KEY_CANNOT_BE_NULL, ERR_KEY_NOT_SET_TO, ERR_NO_ELEM_TO_BE_CONSUMED, ERR_NO_OP_SUPPORTED, ERR_NOT_IMPLEMENTED_YET, ERR_NOT_ORACLE_V_E, ERR_NUM_PART_CONSTRAINT, ERR_OFFSET_CONSTRAINT, ERR_OFFSET_E_MUST_BE_POS, ERR_OFFSET_V_MUST_BE_POS, ERR_PG_ALREADY_EXISTS, ERR_PG_NOT_EMPTY, ERR_SIZE_MUST_BE_POS, ERR_TIMEOUT_TAB_CREATION, ERR_TYPE_ID_NOT_RECO, ERR_UNSUPPORTED_VAL_TYP, ERR_USER_REQ_OP_CANCEL, ERR_V_DS_MUSTBE_FILE_OR_IS, ERR_V_MAX_LINE_CONSTRAINT, ERR_VALUE_CANNOT_BE_NULL, INFO_EMP_K_NO_P_VAL, INFO_NUL_K_NO_P_VAL`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAttributeToAllEdges(EdgeOpCallback eoc)` Adds an attribute to all edges based on the specified EdgeOpCallback.
    `void` | `addAttributeToAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop)` Adds an attribute to all edges based on the specified EdgeOpCallback.
    `void` | `addAttributeToAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop, ProgressListener pl)` Adds an attribute to all edges based on the specified EdgeOpCallback.
    `void` | `addAttributeToAllVertices(VertexOpCallback voc)` Adds an attribute to all vertices based on the specified VertexOpCallback.
    `void` | `addAttributeToAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop)` Adds an attribute to all vertices based on the specified VertexOpCallback.
    `void` | `addAttributeToAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop, ProgressListener pl)` Adds an attribute to all vertices based on the specified VertexOpCallback.
    `Edge` | `addEdge(Object id, Vertex outVertex, Vertex inVertex, String label)` This method adds an edge to the graph instance.
    `Vertex` | `addVertex(Object id)` This method adds a vertex to the graph instance.
    `void` | `clearCache()` Clear the vertex cache and edge cache
    `void` | `clearRepository()` This method removes all vertices and edges from this property graph instance.
    `void` | `closeKVStore()` This method closes the underlying KVStore instance
    `void` | `commit()` Commit the changes to the database.
    `long` | `countEdges()` Counts all Edges
    `long` | `countEdges(int dop)` Counts all Edges using parallel scan with dop threads
    `long` | `countEdges(int dop, ProgressListener pl)` Counts all Edges using parallel scan with dop threads
    `long` | `countEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)` Counts Edges using parallel scan
    `long` | `countVertices()` Counts all vertices
    `long` | `countVertices(int dop)` Counts all vertices using parallel scan with dop threads
    `long` | `countVertices(int dop, ProgressListener pl)` Counts all vertices using parallel scan with dop threads
    `long` | `countVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)` Counts Vertices using parallel scan
    `void` | `createGraphTables()` This method creates the vertex, edge, and index metadata tables for a property graph
    `<T extends Element> Index<T>` | `createIndex(String indexName, Class<T> indexClass, Parameter... indexParameters)` Generates an index with a particular name, for a particular class, and of a particular type.
    `void` | `createIndexTable()` This method creates the index metadata tables for a property graph
    `<T extends Element> void` | `createKeyIndex(String[] keys, Class<T> elementClass)` Creates an automatic index for the given keys and element class.
    `<T extends Element> void` | `createKeyIndex(String key, Class<T> elementClass, Parameter... parameters)` Creates an automatic indexing structure for indexing provided key for element class.
    `void` | `dropAllAutoIndices()` Drops all existing automatic indices
    `void` | `dropAllIndices()` Drops all existing indices
    `void` | `dropAllManualIndices()` Drops all existing manual indices
    `void` | `dropIndex(String indexName)` Removes an index associated with the graph.
    `<T extends Element> void` | `dropKeyIndex(String key, Class<T> elementClass)` Removes an automatic indexing structure associated with indexing provided key for element class.
    `<T extends Element> Index<T>` | `getAutoIndex(Class<T> indexClass)` Gets an index from the graph by its name and index class.
    `int` | `getClearTableDOP()` Returns the number of workers used when removing all data from a table
    `int` | `getClearTablePKBufferSize()` Returns the size of the primary key buffer used when removing all data from a table
    `int` | `getClearTableThreadsPerWorker()` Returns the number of threads per clear table worker used when removing all rows from a table
    `OraclePropertyGraphBase.OptimizationFlag` | `getDefaultEdgeOptFlag()` Get the edge optimization flag associated to this property graph
    `OracleIndexParameters` | `getDefaultIndexParameters()` Get the default index parameters associated to this property graph.
    `OraclePropertyGraphBase.OptimizationFlag` | `getDefaultVertexOptFlag()` Get the vertex optimization flag associated to this property graph
    `OracleEdge` | `getEdge(Object id)` Get the edge referenced by the object identifier
    `EdgeFilterCallback` | `getEdgeFilterCallback()` Get the EdgeFilterCallback associated to this property graph
    `OracleEdgeBase` | `getEdgeInstance(Long eid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)` Returns an instance of OracleEdgeBase.
    `OracleEdgeBase` | `getEdgeInstance(OracleVertexBase outVertex, OracleVertexBase inVertex, String edgeLabel, Long eid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)` Returns an instance of OracleEdgeBase.
    `int` | `getEdgePropertyNames(int dop, int timeout, Set<String> propertyNames)` Gets the property names of all edges using parallel scan with dop threads.
    `int` | `getEdgePropertyNames(int dop, int timeout, Set<String> propertyNames, ProgressListener pl)` Gets the property names of all edges using parallel scan with dop threads.
    `void` | `getEdgePropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray, Set<String> propertyNames, long lStartTime, long lDeadline, int iStartSplitID, ProgressListener pl)` Gets the property names of all edges using parallel scan with dop threads.
    `Iterable<Edge>` | `getEdges()` Return an iterable to all the edges in the graph.
    `Iterable<Edge>` | `getEdges(String key)` Return an iterable to all the edges in the graph that have a particular key.
    `Iterable<Edge>` | `getEdges(String[] keys)` Return an iterable to all the edges in the graph that have at least one of the keys.
    `Iterable<Edge>` | `getEdges(String[] keys, EdgeFilterCallback efc)` Return an iterable to all the edges in the graph that have at least one of the keys.
    `Iterable<Edge>` | `getEdges(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an iterable to all the edges in the graph that have at least one of the keys.
    `Iterable<Edge>` | `getEdges(String key, Object value)` Return an iterable of edges in the graph that have a particular key/value.
    `Iterable<Edge>` | `getEdges(String key, Object value, boolean useWildCard)` Return an iterable of edges in the graph that have a particular key/value
    `Iterable<Edge>` | `getEdges(String key, Object value, boolean acceptWildcard, boolean preferredLuceneQuery)` Return an iterable of edges in the graph that have a particular key/value
    `Iterable<Edge>` | `getEdges(String key, Object value, Class dtClass, boolean acceptWildcard)` Return an iterable of edges in the graph that have a particular key/value
    `Iterable<Edge>` | `getEdges(String key, Object value, Class dtClass, boolean acceptWildcard, boolean preferredLuceneQuery)` Return an iterable of edges in the graph that have a particular key/value
    `Iterable<Edge>[]` | `getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID)` Return an array of iterables to the edges
    `Iterable<Edge>[]` | `getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String key)` Return an array of iterables to the edges that have the particular key
    `Iterable<Edge>[]` | `getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys)` Return an array of iterables to the edges that have at least one of the keys
    `Iterable<Edge>[]` | `getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, EdgeFilterCallback efc)` Return an array of iterables to the edges that have at least one of the keys
    `Iterable<Edge>[]` | `getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an array of iterables to the edges that have at least one of the keys
    `Iterable<Edge>[]` | `getEdgesWithCustomizedParallelTableScan(String[] keys)` Returns an array of iterables to the edges that have at least one of the keys using parallel scan.
    `Iterable<Edge>[]` | `getEdgesWithCustomizedParallelTableScan(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an iterable of edges in the graph that have at least one of the keys
    `Iterable<Edge>` | `getEdgesWithDefaultParallelTableScan(String[] keys)` Return an iterable to all the edges in the graph that have at least one of the keys
    `Iterable<Edge>` | `getEdgesWithDefaultParallelTableScan(String[] keys, EdgeFilterCallback efc)` Return an iterable to all the edges in the graph that have at least one of the keys
    `Iterable<Edge>` | `getEdgesWithDefaultParallelTableScan(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an iterable to all the edges in the graph that have at least one of the keys
    `int` | `getEdgeTableSplits()` Get the number of splits used for parallel scan of edge table
    `String` | `getEdgeTabName()` Get the name of the Oracle NoSQL Database table used to store edges in this property graph.
    `Features` | `getFeatures()` Get the particular features of the graph implementation.
    `String` | `getGraphName()` This method returns the name of this property graph instance
    `<T extends Element> Index<T>` | `getIndex(String indexName, Class<T> indexClass)` Gets a manual index from the graph by its name and index class.
    `<T extends Element> Set<String>` | `getIndexedKeys(Class<T> elementClass)` Returns all the index keys associated with a particular element class.
    `Iterable<Index<? extends Element>>` | `getIndices()` Gets all the indices maintained by the graph.
    `static OraclePropertyGraph` | `getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName)` Get an instance of OraclePropertyGraph
    `static OraclePropertyGraph` | `getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, oracle.kv.LoginCredentials lc)` Get an instance of OraclePropertyGraph
    `static OraclePropertyGraph` | `getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password)` Get an instance of OraclePropertyGraph
    `static OraclePropertyGraph` | `getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password, Properties secProperties)` Get an instance of OraclePropertyGraph
    `static OraclePropertyGraph` | `getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password, String trustStoreFile)` Get an instance of OraclePropertyGraph
    `static OraclePropertyGraph` | `getInstance(oracle.pgx.config.PgNosqlGraphConfig config)` Get an instance of OraclePropertyGraph
    `static OraclePropertyGraph` | `getInstance(String storeName, String host, int port, String szGraphName)` Get an instance of OraclePropertyGraph
    `oracle.kv.KVStoreConfig` | `getKVStoreConfig()` Get the `KVStoreConfig` object associated with the backend database
    `static oracle.kv.KVStoreConfig` | `getKVStoreConfig(oracle.pgx.config.PgNosqlGraphConfig config)` Gets an KVStoreConfig from a PGX PgNosqlGraphConfig object
    `long` | `getMaxEdgeID()` Get the maximal edge ID
    `long` | `getMaxEdgeID(int dop)` Get the maximal edge ID using parallel scan with dop threads
    `long` | `getMaxEdgeID(int dop, ProgressListener pl)` Get the maximal edge ID using parallel scan with dop threads
    `long` | `getMaxEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)` Get the maximal edge ID using parallel scan and the specified DOP.
    `long` | `getMaxVertexID()` Get the maximal vertex ID
    `long` | `getMaxVertexID(int dop)` Get the maximal vertex ID using parallel scan with dop threads
    `long` | `getMaxVertexID(int dop, ProgressListener pl)` Get the maximal vertex ID using parallel scan with dop threads
    `long` | `getMaxVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)` Get the maximal vertex ID using parallel scan and the specified DOP.
    `long` | `getMinEdgeID()` Get the minimal edge ID
    `long` | `getMinEdgeID(int dop)` Get the minimal edge ID using parallel scan with dop threads
    `long` | `getMinEdgeID(int dop, ProgressListener pl)` Get the minimal edge ID using parallel scan with dop threads
    `long` | `getMinEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)` Get the minimal edge ID using parallel scan and the specified DOP.
    `long` | `getMinVertexID()` Get the minimal vertex ID
    `long` | `getMinVertexID(int dop)` Get the minimal vertex ID using parallel scan with dop threads
    `long` | `getMinVertexID(int dop, ProgressListener pl)` Get the minimal vertex ID using parallel scan with dop threads
    `long` | `getMinVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)` Get the minimal vertex ID using parallel scan and the specified DOP.
    `long` | `getOperationQueueSize()` Get the size of the operation queue
    `OracleIndexManager` | `getOracleIndexManager()` Gets the Oracle PropertyGraphIndex Manager associated to this property graph instance.
    `ProgressListener` | `getProgressListener()` Gets the ProgressListener associated to this property graph.
    `int` | `getQueueSize()` Gets the OracleElement queue size.
    `oracle.kv.table.TableIteratorOptions` | `getTableIteratorOptions()` Gets the TableIteratorOptions object associated to this property graph
    `OracleVertex` | `getVertex(Object id)` Return the vertex referenced by the object identifier.
    `VertexFilterCallback` | `getVertexFilterCallback()` Get the VertexFilterCallback associated to this property graph
    `OracleVertexBase` | `getVertexInstance(Long vid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)` Returns an instance of OracleVertexBase.
    `int` | `getVertexPropertyNames(int dop, int timeout, Set<String> propertyNames)` Gets the property names of all vertices using parallel scan with dop threads.
    `int` | `getVertexPropertyNames(int dop, int timeout, Set<String> propertyNames, ProgressListener pl)` Gets the property names of all vertices using parallel scan with dop threads.
    `void` | `getVertexPropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray, Set<String> propertyNames, long lStartTime, long lDeadline, int iStartSplitID, ProgressListener pl)` Gets the property names of all vertices using parallel scan with dop threads.
    `int` | `getVertexTableSplits()` Get the number of splits used for parallel scan of vertex table
    `String` | `getVertexTabName()`
    `Iterable<Vertex>` | `getVertices()` Return an iterable of all vertices in the graph
    `Iterable<Vertex>` | `getVertices(String key)` Return an iterable to all the vertices that have the specified key.
    `Iterable<Vertex>` | `getVertices(String[] keys)` Return an iterable to all the vertices in the graph that have any of the specified keys.
    `Iterable<Vertex>` | `getVertices(String[] keys, VertexFilterCallback vfc)` Return an iterable to all the vertices in the graph that have any of the specified keys and satisfy the specifed vertex filter callback.
    `Iterable<Vertex>` | `getVertices(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an iterable to all the vertices in the graph that have any of the specified keys and satisfy the specifed vertex filter callback.
    `Iterable<Vertex>` | `getVertices(String key, Object value)` Return an iterable to all matching vertices that have a particular key/value property.
    `Iterable<Vertex>` | `getVertices(String key, Object value, boolean useWildCards)` Return an iterable to all matching vertices that have a particular key/value property.
    `Iterable<Vertex>` | `getVertices(String key, Object value, boolean acceptWildcard, boolean preferredLuceneQuery)` Return an iterable to all matching vertices that have a particular key/value property.
    `Iterable<Vertex>` | `getVertices(String key, Object value, Class dtClass, boolean acceptWildcard)` Return an iterable to all matching vertices that have a particular key/value property.
    `Iterable<Vertex>` | `getVertices(String key, Object value, Class dtClass, boolean acceptWildcard, boolean preferredLuceneQuery)` Return an iterable to all matching vertices that have a particular key/value property.
    `Iterable<Vertex>[]` | `getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID)` Gets an array of `Iterable` objects that hold all the vertices in the graph.
    `Iterable<Vertex>[]` | `getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String key)` Return an array of iterables to the vertices that have the key
    `Iterable<Vertex>[]` | `getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys)` Return an array of iterables to the vertices that have at least one of the keys
    `Iterable<Vertex>[]` | `getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, VertexFilterCallback vfc)` Return an array of iterables to the vertices that have at least one of the keys
    `Iterable<Vertex>[]` | `getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an array of iterables to the vertices that have at least one of the keys
    `Iterable<Vertex>[]` | `getVerticesWithCustomizedParallelTableScan(String[] keys)` Return an array of iterables to the vertices in the graph that have at least one of the given keys
    `Iterable<Vertex>[]` | `getVerticesWithCustomizedParallelTableScan(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an array of iterables to the vertices in the graph that have at least one of the given keys
    `Iterable<Vertex>` | `getVerticesWithDefaultParallelTableScan(String[] keys)` Return an iterable of vertices in the graph that have at least one of the given keys
    `Iterable<Vertex>` | `getVerticesWithDefaultParallelTableScan(String[] keys, VertexFilterCallback vfc)` Return an iterable of vertices in the graph that have at least one of the given keys
    `Iterable<Vertex>` | `getVerticesWithDefaultParallelTableScan(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)` Return an iterable of vertices in the graph that have at least one of the given keys
    `boolean` | `isEdgeAutoIndexEnabled(String key)` Validate if the edge auto index is currently enabled
    `boolean` | `isVertexAutoIndexEnabled(String key)` Validates if the vertex auto index is currently enabled
    `GraphQuery` | `query()` Generate a query object that can be used to fine tune which edges/vertices are retrieved from the graph
    `OracleEdge` | `readEdgeFromDB(Long lEID)` This method reads an edge from the database using the give edge ID.
    `void` | `removeAttributeFromAllEdges(EdgeOpCallback eoc)` Removes an attribute from all edges based on the specified EdgeOpCallback.
    `void` | `removeAttributeFromAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop)` Removes an attribute from all edges based on the specified EdgeOpCallback.
    `void` | `removeAttributeFromAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop, ProgressListener pl)` Removes an attribute from all edges based on the specified EdgeOpCallback.
    `void` | `removeAttributeFromAllVertices(VertexOpCallback voc)` Removes an attribute from all vertices based on the specified VertexOpCallback.
    `void` | `removeAttributeFromAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop)` Removes an attribute from all vertices based on the specified VertexOpCallback.
    `void` | `removeAttributeFromAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop, ProgressListener pl)` Removes an attribute from all vertices based on the specified VertexOpCallback.
    `void` | `removeEdge(Edge edge)` Remove the provided edge from the graph
    `void` | `removeVertex(Vertex vertex)` Remove the provided vertex from the graph
    `void` | `rollback()` Rollbacks the operations done to this property graph instance
    `static String` | `serializableToStr(Serializable seri)` Convert from a Java Serializable object to a String encoding.
    `void` | `setBatchSize(int i)` Set the size of the batch used for update operations.
    `void` | `setClearTableDOP(int dop)` Sets the number of workers to be used when removing all rows from a table
    `void` | `setClearTablePKBufferSize(int size)` Set the size of the primary key buffer used when removing all rows from a table
    `void` | `setClearTableThreadsPerWorker(int threads)` Sets the number of threads per clear table worker to be used when removing all rows from a table
    `void` | `setCustomizedParallelScanDOP(int iDOP)` Set the dop used for parallel scan
    `void` | `setDefaultEdgeOptFlag(OraclePropertyGraphBase.OptimizationFlag eof)` Set the default edge optimization flag associated to this property graph
    `void` | `setDefaultIndexParameters(OracleIndexParameters indexParams)` Set the default index parameters associated to this property graph.
    `void` | `setDefaultVertexOptFlag(OraclePropertyGraphBase.OptimizationFlag vof)` Set the default vertex optimization flag associated to this property graph
    `void` | `setEdgeFilterCallback(EdgeFilterCallback efc)` Set the default EdgeFilterCallback associated to this property graph
    `void` | `setProgressListener(ProgressListener pl)` Sets the ProgressListener associated to this property graph.
    `void` | `setQueueSize(int size)` Sets the OracleElement queue size.
    `void` | `setTableIteratorOptions(oracle.kv.table.TableIteratorOptions tio)` Sets the TableIteratorOptions object associated to this property graph
    `void` | `setVertexFilterCallback(VertexFilterCallback vfc)` Set the default VertexFilterCallback associated to this property graph
    `void` | `shutdown()` A shutdown function is required to properly close the graph.
    `void` | `startTransaction()` Start a transaction.
    `void` | `stopTransaction(TransactionalGraph.Conclusion conclusion)` Stop the current transaction.
    `static Object` | `strToSerializable(String s)` Convert from a String encoding to a Serializable object
    `String` | `toString()` Returns a very succinct String representation of this Graph instance

    - ### Methods inherited from class oracle.pg.common.OraclePropertyGraphBase

      `getConfig, getShortestPath, getShortestPath, getVertexPropertyNames, getVertexPropertyNames, sum`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CONST_CLASS_EDGE

          public static final int CONST_CLASS_EDGE

      See Also:
        Constant Field Values

    - #### CONST_CLASS_VERTEX

          public static final int CONST_CLASS_VERTEX

      See Also:
        Constant Field Values

    - #### CONST_DVID

          public static final String CONST_DVID

      See Also:
        Constant Field Values

    - #### CONST_EID

          public static final String CONST_EID

      See Also:
        Constant Field Values

    - #### CONST_EL

          public static final String CONST_EL

      See Also:
        Constant Field Values

    - #### CONST_GE

          public static final String CONST_GE

      See Also:
        Constant Field Values

    - #### CONST_IDX_EI

          public static final String CONST_IDX_EI

      See Also:
        Constant Field Values

    - #### CONST_IDX_KVS

          public static final String CONST_IDX_KVS

      See Also:
        Constant Field Values

    - #### CONST_IDX_XD

          public static final String CONST_IDX_XD

      See Also:
        Constant Field Values

    - #### CONST_IDX_XS

          public static final String CONST_IDX_XS

      See Also:
        Constant Field Values

    - #### CONST_IT

          public static final String CONST_IT

      See Also:
        Constant Field Values

    - #### CONST_IT_K

          public static final String CONST_IT_K

      See Also:
        Constant Field Values

    - #### CONST_KVS

          public static final String CONST_KVS

      See Also:
        Constant Field Values

    - #### CONST_MAX_TBLNAME_LENG

          public static final Integer CONST_MAX_TBLNAME_LENG

    - #### CONST_OP_MAX

          public static final int CONST_OP_MAX

      See Also:
        Constant Field Values

    - #### CONST_OP_MIN

          public static final int CONST_OP_MIN

      See Also:
        Constant Field Values

    - #### CONST_SVID

          public static final String CONST_SVID

      See Also:
        Constant Field Values

    - #### CONST_VID

          public static final String CONST_VID

      See Also:
        Constant Field Values

    - #### CONST_VT

          public static final String CONST_VT

      See Also:
        Constant Field Values

    - #### CONST_XD

          public static final String CONST_XD

      See Also:
        Constant Field Values

    - #### CONST_XS

          public static final String CONST_XS

      See Also:
        Constant Field Values

    - #### ms_baEmpty

          public static final byte[] ms_baEmpty

  - ### Method Detail

    - #### addAttributeToAllEdges

          public void addAttributeToAllEdges(EdgeOpCallback eoc)

      Adds an attribute to all edges based on the specified EdgeOpCallback.
      Parameters:
        `eoc` - a EdgeOpCallBack object.

    - #### addAttributeToAllEdges

          public void addAttributeToAllEdges(EdgeOpCallback eoc,
                                    boolean skipStoreToCache,
                                    int dop)

      Adds an attribute to all edges based on the specified EdgeOpCallback.
      Parameters:
        `eoc` - a EdgeOpCallBack object.
        `skipStoreToCache` - if true, the edges instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the edges.

    - #### addAttributeToAllEdges

          public void addAttributeToAllEdges(EdgeOpCallback eoc,
                                    boolean skipStoreToCache,
                                    int dop,
                                    ProgressListener pl)

      Adds an attribute to all edges based on the specified EdgeOpCallback.
      Parameters:
        `eoc` - a EdgeOpCallBack object.
        `skipStoreToCache` - if true, the edges instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the edges.
        `pl` - a ProgressListener object.

    - #### addAttributeToAllVertices

          public void addAttributeToAllVertices(VertexOpCallback voc)

      Adds an attribute to all vertices based on the specified VertexOpCallback.
      Parameters:
        `voc` - a VertexOpCallBack object.

    - #### addAttributeToAllVertices

          public void addAttributeToAllVertices(VertexOpCallback voc,
                                       boolean skipStoreToCache,
                                       int dop)

      Adds an attribute to all vertices based on the specified VertexOpCallback.
      Parameters:
        `voc` - a VertexOpCallBack object.
        `skipStoreToCache` - if true, the vertices instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the vertices.

    - #### addAttributeToAllVertices

          public void addAttributeToAllVertices(VertexOpCallback voc,
                                       boolean skipStoreToCache,
                                       int dop,
                                       ProgressListener pl)

      Adds an attribute to all vertices based on the specified VertexOpCallback.
      Parameters:
        `voc` - a VertexOpCallBack object.
        `skipStoreToCache` - if true, the vertices instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the vertices.
        `pl` - a ProgressListener object.

    - #### addEdge

          public Edge addEdge(Object id,
                     Vertex outVertex,
                     Vertex inVertex,
                     String label)

      This method adds an edge to the graph instance. Note that this is just a logical operation; This is not a thread safe method.
      Specified by:
        `addEdge` in interface `Graph`
      Parameters:
        `id` - edge id
        `outVertex` - outgoing vertex of the edge
        `inVertex` - incoming vertex of the edge
        `label` - edge label
      Returns:
        an `Edge` object

    - #### addVertex

          public Vertex addVertex(Object id)

      This method adds a vertex to the graph instance. Note that this is just a logical opearation; This is not a thread safe method.
      Specified by:
        `addVertex` in interface `Graph`
      Parameters:
        `id` - vertex id
      Returns:
        a `Vertex` object

    - #### clearCache

          public void clearCache()

      Clear the vertex cache and edge cache

    - #### clearRepository

          public void clearRepository()
                               throws Exception

      This method removes all vertices and edges from this property graph instance. A DDL (truncate) is executed so there is no way to rollback.
      Specified by:
        `clearRepository` in class `OraclePropertyGraphBase`
      Throws:
        `Exception`

    - #### closeKVStore

          public void closeKVStore()

      This method closes the underlying KVStore instance

    - #### commit

          public void commit()

      Commit the changes to the database.
      Specified by:
        `commit` in interface `TransactionalGraph`

    - #### countEdges

          public long countEdges()

      Counts all Edges
      Returns:
        number of edges in the graph

    - #### countEdges

          public long countEdges(int dop)

      Counts all Edges using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the edges.
      Returns:
        number of edges in the graph

    - #### countEdges

          public long countEdges(int dop,
                        ProgressListener pl)

      Counts all Edges using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the edges.
        `pl` - a ProgressListener object.
      Returns:
        number of edges in the graph

    - #### countEdgesPartitioned

          public long countEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                   int iStartSplitID,
                                   ProgressListener pl)

      Counts Edges using parallel scan
      Parameters:
        `kvcArray` - connection array
        `iStartSplitID` - starting split id, starting from 0
        `pl` - a progress listener object
      Returns:
        number of edges

    - #### countVertices

          public long countVertices()

      Counts all vertices
      Returns:
        number of vertices in the graph

    - #### countVertices

          public long countVertices(int dop)

      Counts all vertices using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
      Returns:
        number of vertices in the graph

    - #### countVertices

          public long countVertices(int dop,
                           ProgressListener pl)

      Counts all vertices using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
        `pl` - a ProgressListener object.
      Returns:
        number of vertices in the graph

    - #### countVerticesPartitioned

          public long countVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                      int iStartSplitID,
                                      ProgressListener pl)

      Counts Vertices using parallel scan
      Parameters:
        `kvcArray` - connection array
        `iStartSplitID` - starting split id, starting from 0
        `pl` - a progress listener object
      Returns:
        number of vertices

    - #### createGraphTables

          public void createGraphTables()
                                 throws Exception

      This method creates the vertex, edge, and index metadata tables for a property graph
      Throws:
        `Exception`

    - #### createIndex

          public <T extends Element> Index<T> createIndex(String indexName,
                                                 Class<T> indexClass,
                                                 Parameter... indexParameters)

      Generates an index with a particular name, for a particular class, and of a particular type.
      Specified by:
        `createIndex` in interface `IndexableGraph`
      Parameters:
        `indexName` - the name of the index
        `indexClass` - the element class that this index is indexing (can be base class)
        `indexParameters` - a collection of parameters for the underlying index implementation
      Returns:
        the index created

    - #### createIndexTable

          public void createIndexTable()
                                throws Exception

      This method creates the index metadata tables for a property graph
      Throws:
        `Exception`

    - #### createKeyIndex

          public <T extends Element> void createKeyIndex(String[] keys,
                                                Class<T> elementClass)

      Creates an automatic index for the given keys and element class.
      Parameters:
        `keys` - an array of keys to create the index for.
        `elementClass` - the element class that the index is for.

    - #### createKeyIndex

          public <T extends Element> void createKeyIndex(String key,
                                                Class<T> elementClass,
                                                Parameter... parameters)

      Creates an automatic indexing structure for indexing provided key for element class.
      Specified by:
        `createKeyIndex` in interface `KeyIndexableGraph`
      Parameters:
        `key` - the key to create the index for.
        `elementClass` - the element class that the index is for.
        `parameters` - a collection of parameters for the underlying index implementation.

    - #### dropAllAutoIndices

          public void dropAllAutoIndices()

      Drops all existing automatic indices

    - #### dropAllIndices

          public void dropAllIndices()

      Drops all existing indices
      Specified by:
        `dropAllIndices` in class `OraclePropertyGraphBase`

    - #### dropAllManualIndices

          public void dropAllManualIndices()

      Drops all existing manual indices

    - #### dropIndex

          public void dropIndex(String indexName)

      Removes an index associated with the graph.
      Specified by:
        `dropIndex` in interface `IndexableGraph`
      Parameters:
        `indexName` - the name of the index to drop

    - #### dropKeyIndex

          public <T extends Element> void dropKeyIndex(String key,
                                              Class<T> elementClass)

      Removes an automatic indexing structure associated with indexing provided key for element class.
      Specified by:
        `dropKeyIndex` in interface `KeyIndexableGraph`
      Parameters:
        `key` - the key to drop the index for.
        `elementClass` - the element class that the index is for.

    - #### getAutoIndex

          public <T extends Element> Index<T> getAutoIndex(Class<T> indexClass)

      Gets an index from the graph by its name and index class. An index is unique up to name.

    - #### getClearTableDOP

          public int getClearTableDOP()

      Returns the number of workers used when removing all data from a table
      Returns:
        the degree of parallelism used when removing all rows from a table

    - #### getClearTablePKBufferSize

          public int getClearTablePKBufferSize()

      Returns the size of the primary key buffer used when removing all data from a table
      Returns:
        buffer size

    - #### getClearTableThreadsPerWorker

          public int getClearTableThreadsPerWorker()

      Returns the number of threads per clear table worker used when removing all rows from a table
      Returns:
        the number of threads per clear table worker used when removing all rows from a table

    - #### getDefaultEdgeOptFlag

          public OraclePropertyGraphBase.OptimizationFlag getDefaultEdgeOptFlag()

      Get the edge optimization flag associated to this property graph
      Returns:
        an OptimizationFlag object

    - #### getDefaultIndexParameters

          public OracleIndexParameters getDefaultIndexParameters()

      Get the default index parameters associated to this property graph. The index parameters provided here will be used when an automatic or manual index is to be created without an explicit specification of the index parameters.
      Specified by:
        `getDefaultIndexParameters` in class `OraclePropertyGraphBase`
      Returns:
        a `OracleIndexParameters` object.

    - #### getDefaultVertexOptFlag

          public OraclePropertyGraphBase.OptimizationFlag getDefaultVertexOptFlag()

      Get the vertex optimization flag associated to this property graph
      Returns:
        an OptimizationFlag object

    - #### getEdge

          public OracleEdge getEdge(Object id)

      Get the edge referenced by the object identifier
      Specified by:
        `getEdge` in interface `Graph`
      Returns:
        an `OracleEdge` object

    - #### getEdgeFilterCallback

          public EdgeFilterCallback getEdgeFilterCallback()

      Get the EdgeFilterCallback associated to this property graph
      Returns:
        a `EdgeFilterCallback` object

    - #### getEdgeInstance

          public OracleEdgeBase getEdgeInstance(Long eid,
                                       boolean bCreateIfAbsentFromCache,
                                       boolean bSkipStoreToCache)

      Returns an instance of OracleEdgeBase. If there is no match in the cache and bCreateIfAbsentFromCache is false, then a NULL value will be returned.
      Specified by:
        `getEdgeInstance` in class `OraclePropertyGraphBase`
      Parameters:
        `eid` - edge ID
        `bCreateIfAbsentFromCache` - if true, an OracleEdge instance will be created when it is absent from the cache
        `bSkipStoreToCache` - if true, the retrieved element is not saved into the cache
      Returns:
        an instance of OracleEdgeBase

    - #### getEdgeInstance

          public OracleEdgeBase getEdgeInstance(OracleVertexBase outVertex,
                                       OracleVertexBase inVertex,
                                       String edgeLabel,
                                       Long eid,
                                       boolean bCreateIfAbsentFromCache,
                                       boolean bSkipStoreToCache)

      Returns an instance of OracleEdgeBase. If there is no match in the cache and bCreateIfAbsentFromCache is false, then a NULL value will be returned.
      Specified by:
        `getEdgeInstance` in class `OraclePropertyGraphBase`
      Parameters:
        `outVertex` - source vertex of the edge
        `inVertex` - destination vertex of the edge
        `edgeLabel` - edge label
        `eid` - edge ID
        `bCreateIfAbsentFromCache` - if true, an OracleEdge instance will be created when it is absent from the cache
        `bSkipStoreToCache` - if true, the retrieved element is not saved into the cache
      Returns:
        an instance of OracleEdgeBase

    - #### getEdgePropertyNames

          public int getEdgePropertyNames(int dop,
                                 int timeout,
                                 Set<String> propertyNames)

      Gets the property names of all edges using parallel scan with dop threads.
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the edges.
        `timeout` - time out in the unit of seconds
        `propertyNames` - a set of property names to be returned

    - #### getEdgePropertyNames

          public int getEdgePropertyNames(int dop,
                                 int timeout,
                                 Set<String> propertyNames,
                                 ProgressListener pl)

      Gets the property names of all edges using parallel scan with dop threads.
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the edges.
        `timeout` - time out in the unit of seconds
        `propertyNames` - a set of property names to be returned
        `pl` - a ProgressListener object.

    - #### getEdgePropertyNamesPartitioned

          public void getEdgePropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray,
                                             Set<String> propertyNames,
                                             long lStartTime,
                                             long lDeadline,
                                             int iStartSplitID,
                                             ProgressListener pl)

      Gets the property names of all edges using parallel scan with dop threads.
      Parameters:
        `connArray` - connection array
        `propertyNames` - a set of edge property names
        `lStartTime` - starting time
        `lDeadline` - dead line
        `iStartSplitID` - starting split id, starts from 0.
        `pl` - a progress listener object

    - #### getEdges

          public Iterable<Edge> getEdges()

      Return an iterable to all the edges in the graph.
      Specified by:
        `getEdges` in interface `Graph`

    - #### getEdges

          public Iterable<Edge> getEdges(String key)

      Return an iterable to all the edges in the graph that have a particular key.
      Specified by:
        `getEdges` in class `OraclePropertyGraphBase`
      Parameters:
        `key` - a key
      Returns:
        an iterable to all the edges in the graph that have a particular key.

    - #### getEdges

          public Iterable<Edge> getEdges(String[] keys)

      Return an iterable to all the edges in the graph that have at least one of the keys.
      Specified by:
        `getEdges` in class `OraclePropertyGraphBase`
      Parameters:
        `keys` - an array of keys
      Returns:
        an iterable to all the edges in the graph that have at least one of the keys.

    - #### getEdges

          public Iterable<Edge> getEdges(String[] keys,
                                EdgeFilterCallback efc)

      Return an iterable to all the edges in the graph that have at least one of the keys.
      Parameters:
        `keys` - an array of keys
        `efc` - a `EdgeFilterCallback` object to filter the edges
      Returns:
        an iterable to all the edges in the graph that have at least one of the keys.

    - #### getEdges

          public Iterable<Edge> getEdges(String[] keys,
                                EdgeFilterCallback efc,
                                OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an iterable to all the edges in the graph that have at least one of the keys.
      Parameters:
        `keys` - an array of keys
        `efc` - a `EdgeFilterCallback` object to filter the edges
        `optFlag` - an optimization flag to specify whether the whole or partial edge object should be returned
      Returns:
        an iterable to all the edges in the graph that have at least one of the keys.

    - #### getEdges

          public Iterable<Edge> getEdges(String key,
                                Object value)

      Return an iterable of edges in the graph that have a particular key/value.
      Specified by:
        `getEdges` in interface `Graph`
      Parameters:
        `key` - a key
        `value` - value of the key
      Returns:
        an iterable of edges in the graph that have a particular key/value

    - #### getEdges

          public Iterable<Edge> getEdges(String key,
                                Object value,
                                boolean useWildCard)

      Return an iterable of edges in the graph that have a particular key/value
      Specified by:
        `getEdges` in class `OraclePropertyGraphBase`
      Parameters:
        `key` - a key
        `value` - value of the key
        `useWildCard` - if true, use wildcard character
      Returns:
        an iterable of edges in the graph that have a particular key/value

    - #### getEdges

          public Iterable<Edge> getEdges(String key,
                                Object value,
                                boolean acceptWildcard,
                                boolean preferredLuceneQuery)

      Return an iterable of edges in the graph that have a particular key/value
      Parameters:
        `key` - a key
        `value` - value of the key
        `acceptWildcard` - if true, accept wildcard character
        `preferredLuceneQuery` -
      Returns:
        an iterable of edges in the graph that have a particular key/value

    - #### getEdges

          public Iterable<Edge> getEdges(String key,
                                Object value,
                                Class dtClass,
                                boolean acceptWildcard)

      Return an iterable of edges in the graph that have a particular key/value
      Specified by:
        `getEdges` in class `OraclePropertyGraphBase`
      Parameters:
        `key` - a key
        `value` - value of the key
        `dtClass` -
        `acceptWildcard` - if true, accept wildcard character
      Returns:
        an iterable of edges in the graph that have a particular key/value

    - #### getEdges

          public Iterable<Edge> getEdges(String key,
                                Object value,
                                Class dtClass,
                                boolean acceptWildcard,
                                boolean preferredLuceneQuery)

      Return an iterable of edges in the graph that have a particular key/value
      Parameters:
        `key` - a key
        `value` - value of the key
        `dtClass` -
        `acceptWildcard` - if true, accept wildcard character
        `preferredLuceneQuery` -
      Returns:
        an iterable of edges in the graph that have a particular key/value

    - #### getEdgesPartitioned

          public Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                             boolean bSkipStoreToCache,
                                             int iStartSplitID)

      Return an array of iterables to the edges
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
      Returns:
        an array of iterables to the edges

    - #### getEdgesPartitioned

          public Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                             boolean bSkipStoreToCache,
                                             int iStartSplitID,
                                             String key)

      Return an array of iterables to the edges that have the particular key
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `key` - a key
      Returns:
        an array of iterables to the edges that have the particular key

    - #### getEdgesPartitioned

          public Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                             boolean bSkipStoreToCache,
                                             int iStartSplitID,
                                             String[] keys)

      Return an array of iterables to the edges that have at least one of the keys
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `keys` - an array of keys
      Returns:
        an array of iterables to the edges that have at least one of the keys

    - #### getEdgesPartitioned

          public Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                             boolean bSkipStoreToCache,
                                             int iStartSplitID,
                                             String[] keys,
                                             EdgeFilterCallback efc)

      Return an array of iterables to the edges that have at least one of the keys
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `keys` - an array of keys
        `efc` - an `EdgeFilterCallback` object to filter the edges
      Returns:
        an array of iterables to the edges that have at least one of the keys

    - #### getEdgesPartitioned

          public Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                             boolean bSkipStoreToCache,
                                             int iStartSplitID,
                                             String[] keys,
                                             EdgeFilterCallback efc,
                                             OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an array of iterables to the edges that have at least one of the keys
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `keys` - an array of keys
        `efc` - an `EdgeFilterCallback` object to filter the edges
        `optFlag` - an optimization flag to specify if the object edge object or only partial object should be returned
      Returns:
        an array of iterables to the edges that have at least one of the keys

    - #### getEdgesWithCustomizedParallelTableScan

          public Iterable<Edge>[] getEdgesWithCustomizedParallelTableScan(String[] keys)

      Returns an array of iterables to the edges that have at least one of the keys using parallel scan.
      Parameters:
        `keys` - an array of keys
      Returns:
        an iterable of edges in the graph that have at least one of the keys

    - #### getEdgesWithCustomizedParallelTableScan

          public Iterable<Edge>[] getEdgesWithCustomizedParallelTableScan(String[] keys,
                                                                 EdgeFilterCallback efc,
                                                                 OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an iterable of edges in the graph that have at least one of the keys
      Parameters:
        `keys` - an array of keys
        `efc` - an EdgeFilterCallback object to filter the edges
        `optFlag` - an optimization flag to specify whether the whole or partial edge object should be returned
      Returns:
        an iterable of edges in the graph that have at least one of the keys

    - #### getEdgesWithDefaultParallelTableScan

          public Iterable<Edge> getEdgesWithDefaultParallelTableScan(String[] keys)

      Return an iterable to all the edges in the graph that have at least one of the keys
      Parameters:
        `keys` - an array of keys
      Returns:
        an iterable to the edges in the graph that have at least one of the keys

    - #### getEdgesWithDefaultParallelTableScan

          public Iterable<Edge> getEdgesWithDefaultParallelTableScan(String[] keys,
                                                            EdgeFilterCallback efc)

      Return an iterable to all the edges in the graph that have at least one of the keys
      Parameters:
        `keys` - an array of keys
        `efc` - an `EdgeFilterCallback` object to filter the edges
      Returns:
        an iterable to the edges in the graph that have at least one of the keys

    - #### getEdgesWithDefaultParallelTableScan

          public Iterable<Edge> getEdgesWithDefaultParallelTableScan(String[] keys,
                                                            EdgeFilterCallback efc,
                                                            OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an iterable to all the edges in the graph that have at least one of the keys
      Parameters:
        `keys` - an array of keys
        `efc` - an `EdgeFilterCallback` object to filter the edges
        `optFlag` - an optimization flag to specify whether the whole or partial edge object should be returned
      Returns:
        an iterable to the edges in the graph that have at least one of the keys

    - #### getEdgeTableSplits

          public int getEdgeTableSplits()

      Get the number of splits used for parallel scan of edge table

    - #### getEdgeTabName

          public String getEdgeTabName()

      Get the name of the Oracle NoSQL Database table used to store edges in this property graph.
      Returns:
        the edge table name.

    - #### getFeatures

          public Features getFeatures()

      Get the particular features of the graph implementation.
      Specified by:
        `getFeatures` in interface `Graph`

    - #### getGraphName

          public String getGraphName()

      This method returns the name of this property graph instance
      Overrides:
        `getGraphName` in class `OraclePropertyGraphBase`

    - #### getIndex

          public <T extends Element> Index<T> getIndex(String indexName,
                                              Class<T> indexClass)

      Gets a manual index from the graph by its name and index class. An index is unique up to name.
      Specified by:
        `getIndex` in interface `IndexableGraph`

    - #### getIndexedKeys

          public <T extends Element> Set<String> getIndexedKeys(Class<T> elementClass)

      Returns all the index keys associated with a particular element class.
      Specified by:
        `getIndexedKeys` in interface `KeyIndexableGraph`
      Parameters:
        `elementClass` - the element class that the index is for.
      Returns:
        the indexed keys as a Set.

    - #### getIndices

          public Iterable<Index<? extends Element>> getIndices()

      Gets all the indices maintained by the graph.
      Specified by:
        `getIndices` in interface `IndexableGraph`
      Returns:
        the indices associated with the graph

    - #### getInstance

          public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig,
                                        String szGraphName)
                                                 throws Exception

      Get an instance of OraclePropertyGraph
      Parameters:
        `kvconfig` - a `KVStoreConfig` object
        `szGraphName` - name of the property graph to be created
      Returns:
        an `OraclePropertyGraph` object
      Throws:
        `Exception`

    - #### getInstance

          public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig,
                                        String szGraphName,
                                        oracle.kv.LoginCredentials lc)
                                                 throws Exception

      Get an instance of OraclePropertyGraph
      Parameters:
        `kvconfig` - a `KVStoreConfig` object
        `szGraphName` - name of the property graph to be created
        `lc` - a LoginCredentials object that can be used to authenticate a user
      Returns:
        an `OraclePropertyGraph` object
      Throws:
        `Exception`

    - #### getInstance

          public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig,
                                        String szGraphName,
                                        String username,
                                        String password)
                                                 throws Exception

      Get an instance of OraclePropertyGraph
      Parameters:
        `kvconfig` - a `KVStoreConfig` object
        `szGraphName` - name of the property graph to be created
        `username` - name of the user
        `password` - password of the user
      Returns:
        an `OraclePropertyGraph` object
      Throws:
        `Exception`

    - #### getInstance

          public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig,
                                        String szGraphName,
                                        String username,
                                        String password,
                                        Properties secProperties)
                                                 throws Exception

      Get an instance of OraclePropertyGraph
      Parameters:
        `kvconfig` - a `KVStoreConfig` object
        `szGraphName` - name of the property graph to be created
        `username` - name of the user
        `password` - password of the user
        `secProperties` - a Properties object that defines the KVStoreConfig security settings
      Returns:
        an `OraclePropertyGraph` object
      Throws:
        `Exception`

    - #### getInstance

          public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig,
                                        String szGraphName,
                                        String username,
                                        String password,
                                        String trustStoreFile)
                                                 throws Exception

      Get an instance of OraclePropertyGraph
      Parameters:
        `kvconfig` - a `KVStoreConfig` object
        `szGraphName` - name of the property graph to be created
        `username` - name of the user
        `password` - password of the user
        `trustStoreFile` - the name and path to a client side Java truststore file certificates)
      Returns:
        an `OraclePropertyGraph` object
      Throws:
        `Exception`

    - #### getInstance

          public static OraclePropertyGraph getInstance(oracle.pgx.config.PgNosqlGraphConfig config)
                                                 throws Exception

      Get an instance of OraclePropertyGraph
      Parameters:
        `config` - a `PgNosqlGraphConfig` object
      Returns:
        an `OraclePropertyGraph` object
      Throws:
        `Exception`

    - #### getInstance

          public static OraclePropertyGraph getInstance(String storeName,
                                        String host,
                                        int port,
                                        String szGraphName)
                                                 throws Exception

      Get an instance of OraclePropertyGraph
      Parameters:
        `storeName` - kvstore name
        `host` - host machine name where Oracle NoSQL database installed
        `port` - port number
        `szGraphName` - name of the property graph to be created
      Returns:
        an `OraclePropertyGraph` object and graph name provided.
      Throws:
        `Exception`

    - #### getKVStoreConfig

          public oracle.kv.KVStoreConfig getKVStoreConfig()

      Get the `KVStoreConfig` object associated with the backend database
      Returns:
        a `KVStoreConfig` object

    - #### getKVStoreConfig

          public static oracle.kv.KVStoreConfig getKVStoreConfig(oracle.pgx.config.PgNosqlGraphConfig config)

      Gets an KVStoreConfig from a PGX PgNosqlGraphConfig object
      Parameters:
        `config` - the PgNosqlGraphConfig object
      Returns:
        the KVStoreConfig object

    - #### getMaxEdgeID

          public long getMaxEdgeID()

      Get the maximal edge ID
      Returns:
        maximal edge ID in the graph

    - #### getMaxEdgeID

          public long getMaxEdgeID(int dop)

      Get the maximal edge ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
      Returns:
        maximal edge ID in the graph

    - #### getMaxEdgeID

          public long getMaxEdgeID(int dop,
                          ProgressListener pl)

      Get the maximal edge ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
        `pl` - a ProgressListener object.
      Returns:
        maximal edge ID in the graph

    - #### getMaxEdgeIDPartitioned

          public long getMaxEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                     int iStartSplitID,
                                     ProgressListener pl)

      Get the maximal edge ID using parallel scan and the specified DOP.
      Parameters:
        `kvcArray` - connection array
        `iStartSplitID` - starting split id, starting from 0
        `pl` - a progress listener object
      Returns:
        maximal edge ID in the graph

    - #### getMaxVertexID

          public long getMaxVertexID()

      Get the maximal vertex ID
      Returns:
        maximal vertex ID in the graph

    - #### getMaxVertexID

          public long getMaxVertexID(int dop)

      Get the maximal vertex ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
      Returns:
        maximal vertex ID in the graph

    - #### getMaxVertexID

          public long getMaxVertexID(int dop,
                            ProgressListener pl)

      Get the maximal vertex ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
        `pl` - a ProgressListener object.
      Returns:
        maximal vertex ID in the graph

    - #### getMaxVertexIDPartitioned

          public long getMaxVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                       int iStartSplitID,
                                       ProgressListener pl)

      Get the maximal vertex ID using parallel scan and the specified DOP.
      Parameters:
        `kvcArray` - connection array
        `iStartSplitID` - starting split id, starting from 0
        `pl` - a progress listener object
      Returns:
        maximal vertex ID in the graph

    - #### getMinEdgeID

          public long getMinEdgeID()

      Get the minimal edge ID
      Returns:
        minimal edge ID in the graph

    - #### getMinEdgeID

          public long getMinEdgeID(int dop)

      Get the minimal edge ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
      Returns:
        minimal edge ID in the graph

    - #### getMinEdgeID

          public long getMinEdgeID(int dop,
                          ProgressListener pl)

      Get the minimal edge ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
        `pl` - a ProgressListener object.
      Returns:
        minimal edge ID in the graph

    - #### getMinEdgeIDPartitioned

          public long getMinEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                     int iStartSplitID,
                                     ProgressListener pl)

      Get the minimal edge ID using parallel scan and the specified DOP.
      Parameters:
        `kvcArray` - connection array
        `iStartSplitID` - starting split id, starting from 0
        `pl` - a progress listener object
      Returns:
        minimal edge ID in the graph

    - #### getMinVertexID

          public long getMinVertexID()

      Get the minimal vertex ID
      Returns:
        minimal vertex ID in the graph

    - #### getMinVertexID

          public long getMinVertexID(int dop)

      Get the minimal vertex ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
      Returns:
        minimal vertex ID in the graph

    - #### getMinVertexID

          public long getMinVertexID(int dop,
                            ProgressListener pl)

      Get the minimal vertex ID using parallel scan with dop threads
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
        `pl` - a ProgressListener object.
      Returns:
        minimal vertex ID in the graph

    - #### getMinVertexIDPartitioned

          public long getMinVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                       int iStartSplitID,
                                       ProgressListener pl)

      Get the minimal vertex ID using parallel scan and the specified DOP.
      Parameters:
        `kvcArray` - connection array
        `iStartSplitID` - starting split id, starting from 0
        `pl` - a progress listener object
      Returns:
        minimal vertex ID in the graph

    - #### getOperationQueueSize

          public long getOperationQueueSize()

      Get the size of the operation queue

    - #### getOracleIndexManager

          public OracleIndexManager getOracleIndexManager()

      Gets the Oracle PropertyGraphIndex Manager associated to this property graph instance.
      Specified by:
        `getOracleIndexManager` in class `OraclePropertyGraphBase`
      Returns:
        a `OracleIndexManager` object.

    - #### getProgressListener

          public ProgressListener getProgressListener()

      Gets the ProgressListener associated to this property graph.
      Returns:
        a ProgressListener object.

    - #### getQueueSize

          public int getQueueSize()

      Gets the OracleElement queue size. Flush the queue when reaching this size.

    - #### getTableIteratorOptions

          public oracle.kv.table.TableIteratorOptions getTableIteratorOptions()

      Gets the TableIteratorOptions object associated to this property graph

    - #### getVertex

          public OracleVertex getVertex(Object id)

      Return the vertex referenced by the object identifier.
      Specified by:
        `getVertex` in interface `Graph`
      Parameters:
        `id` - object identifier of the vertex
      Returns:
        an `OracleVertex` object

    - #### getVertexFilterCallback

          public VertexFilterCallback getVertexFilterCallback()

      Get the VertexFilterCallback associated to this property graph
      Returns:
        a `VertexFilterCallback` object

    - #### getVertexInstance

          public OracleVertexBase getVertexInstance(Long vid,
                                           boolean bCreateIfAbsentFromCache,
                                           boolean bSkipStoreToCache)

      Returns an instance of OracleVertexBase. If there is no match in the cache and bCreateIfAbsentFromCache is false, then a NULL value will be returned.
      Specified by:
        `getVertexInstance` in class `OraclePropertyGraphBase`
      Parameters:
        `vid` - vertex ID
        `bCreateIfAbsentFromCache` - if true, an OracleVertex instance will be created when it is absent from the cache
        `bSkipStoreToCache` - if true, the retrieved element is not saved into the cache
      Returns:
        an instance of OracleVertexBase

    - #### getVertexPropertyNames

          public int getVertexPropertyNames(int dop,
                                   int timeout,
                                   Set<String> propertyNames)

      Gets the property names of all vertices using parallel scan with dop threads.
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
        `timeout` - time out in the unit of seconds
        `propertyNames` - a set of property names to be returned

    - #### getVertexPropertyNames

          public int getVertexPropertyNames(int dop,
                                   int timeout,
                                   Set<String> propertyNames,
                                   ProgressListener pl)

      Gets the property names of all vertices using parallel scan with dop threads.
      Parameters:
        `dop` - a positive integer defining the number of threads to use when parallel scanning the vertices.
        `timeout` - time out in the unit of seconds
        `propertyNames` - a set of property names to be returned
        `pl` - a ProgressListener object.

    - #### getVertexPropertyNamesPartitioned

          public void getVertexPropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray,
                                               Set<String> propertyNames,
                                               long lStartTime,
                                               long lDeadline,
                                               int iStartSplitID,
                                               ProgressListener pl)

      Gets the property names of all vertices using parallel scan with dop threads.
      Parameters:
        `connArray` - connection array
        `propertyNames` - a set of vertex property names
        `lStartTime` - starting time
        `lDeadline` - dead line
        `iStartSplitID` - starting split id, starts from 0.
        `pl` - a progress listener object

    - #### getVertexTableSplits

          public int getVertexTableSplits()

      Get the number of splits used for parallel scan of vertex table

    - #### getVertexTabName

          public String getVertexTabName()

    - #### getVertices

          public Iterable<Vertex> getVertices()

      Return an iterable of all vertices in the graph
      Specified by:
        `getVertices` in interface `Graph`
      Returns:
        an iterable of all vertices in the graph

    - #### getVertices

          public Iterable<Vertex> getVertices(String key)

      Return an iterable to all the vertices that have the specified key.
      Specified by:
        `getVertices` in class `OraclePropertyGraphBase`
      Parameters:
        `key` - a property key name. It can be NULL which implies all vertices in the graph will be returned.

    - #### getVertices

          public Iterable<Vertex> getVertices(String[] keys)

      Return an iterable to all the vertices in the graph that have any of the specified keys.
      Specified by:
        `getVertices` in class `OraclePropertyGraphBase`
      Parameters:
        `keys` - an array of property key names. It can be NULL which implies all vertices in the graph satisfying the vertex filter callback will be returned.

    - #### getVertices

          public Iterable<Vertex> getVertices(String[] keys,
                                     VertexFilterCallback vfc)

      Return an iterable to all the vertices in the graph that have any of the specified keys and satisfy the specifed vertex filter callback.
      Parameters:
        `keys` - an array of property key names. It can be NULL which implies all vertices in the graph satisfying the vertex filter callback will be returned.
        `vfc` - a `VertexFilterCallback` object specifying the conditions to keep a vertex in the iterable.

    - #### getVertices

          public Iterable<Vertex> getVertices(String[] keys,
                                     VertexFilterCallback vfc,
                                     OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an iterable to all the vertices in the graph that have any of the specified keys and satisfy the specifed vertex filter callback.
      Parameters:
        `keys` - an array of property key names. It can be NULL which implies all vertices in the graph satisfying the vertex filter callback will be returned.
        `vfc` - a `VertexFilterCallback` object specifying the conditions for a matching vertex to be returned as an element in the iterable.
        `optFlag` - an OptimizationFlag object denoting if partial or complete vertex objects need to be constructed and returned. It can be NULL which implies the vertices created are complete. Partial objects are usually quicker to construct and they consume less memory compared to full blown vertex objects.

    - #### getVertices

          public Iterable<Vertex> getVertices(String key,
                                     Object value)

      Return an iterable to all matching vertices that have a particular key/value property. When an automatic text index on the given key is absent, a full table scan will be carried out to find matching vertices.
      Specified by:
        `getVertices` in interface `Graph`
      Parameters:
        `key` - the name of the property. It MUST not be NULL.
        `value` - the value of the property. It can be NULL which will cause all vertices with the given key to be returned.

    - #### getVertices

          public Iterable<Vertex> getVertices(String key,
                                     Object value,
                                     boolean useWildCards)

      Return an iterable to all matching vertices that have a particular key/value property. When an automatic text index on the given key is absent, a full table scan will be carried out to find matching vertices.
      Specified by:
        `getVertices` in class `OraclePropertyGraphBase`
      Parameters:
        `key` - the name of the property. It MUST not be NULL.
        `value` - the value of the property. It can be NULL which will cause all vertices with the given key to be returned.
        `useWildCards` - specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.

    - #### getVertices

          public Iterable<Vertex> getVertices(String key,
                                     Object value,
                                     boolean acceptWildcard,
                                     boolean preferredLuceneQuery)

      Return an iterable to all matching vertices that have a particular key/value property. When an automatic text index on the given key is absent, a full table scan will be carried out to find matching vertices.
      Parameters:
        `key` - the name of the property. It MUST not be NULL.
        `value` - the value of the property. It can be NULL which will cause all vertices with the given key to be returned.
        `acceptWildcard` - specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.
        `preferredLuceneQuery` - if true, a look up to the automatic index will be executed to find the matches.

    - #### getVertices

          public Iterable<Vertex> getVertices(String key,
                                     Object value,
                                     Class dtClass,
                                     boolean acceptWildcard)

      Return an iterable to all matching vertices that have a particular key/value property. When an automatic text index on the given key is absent, a full table scan will be carried out to find matching vertices.
      Specified by:
        `getVertices` in class `OraclePropertyGraphBase`
      Parameters:
        `key` - the name of the property. It MUST not be NULL.
        `value` - the value of the property. It can be NULL which will cause all vertices with the given key to be returned.
        `dtClass` - the datatype of the value object
        `acceptWildcard` - specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.

    - #### getVertices

          public Iterable<Vertex> getVertices(String key,
                                     Object value,
                                     Class dtClass,
                                     boolean acceptWildcard,
                                     boolean preferredLuceneQuery)

      Return an iterable to all matching vertices that have a particular key/value property. When an automatic text index on the given key is absent, a full table scan will be carried out to find matching vertices.
      Parameters:
        `key` - the name of the property. It MUST not be NULL.
        `value` - the value of the property. It can be NULL which will cause all vertices with the given key to be returned.
        `dtClass` - the datatype of the value object
        `acceptWildcard` - specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.
        `preferredLuceneQuery` - if true, a look up to the automatic index will be executed to find the matches.

    - #### getVerticesPartitioned

          public Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                                  boolean bSkipStoreToCache,
                                                  int iStartSplitID)

      Gets an array of `Iterable` objects that hold all the vertices in the graph. Each element in the `Iterable` array uses a separate connection provided to fetch a subset of the results from the corresponding split. The splits are determined by # of regions & num of splits per region for the table. Note that we assign an integer ID (in the range of [0, N - 1]) to all the splits in the vertex table with N splits. The subset of splits queried will consist of those splits with ID value in the range of [startSplitID, startSplit - 1 + size of connections array].
      Parameters:
        `kvcArray` - an array of KVStoreConfig objects for Oracle NoSQL Database
        `bSkipStoreToCache` - if true, the vertices instances will not be stored into the cache.
        `iStartSplitID` - the ID of the starting split.
      Returns:
        an array of `Iterable` objects.

    - #### getVerticesPartitioned

          public Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                                  boolean bSkipStoreToCache,
                                                  int iStartSplitID,
                                                  String key)

      Return an array of iterables to the vertices that have the key
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, the retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `key` - a key
      Returns:
        an array of iterables to the vertices that have the key

    - #### getVerticesPartitioned

          public Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                                  boolean bSkipStoreToCache,
                                                  int iStartSplitID,
                                                  String[] keys)

      Return an array of iterables to the vertices that have at least one of the keys
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, the retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `keys` - an array of keys
      Returns:
        an array of iterables to the vertices that have at least one of the keys

    - #### getVerticesPartitioned

          public Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                                  boolean bSkipStoreToCache,
                                                  int iStartSplitID,
                                                  String[] keys,
                                                  VertexFilterCallback vfc)

      Return an array of iterables to the vertices that have at least one of the keys
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, the retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `keys` - an array of keys
        `vfc` - a `VertexFilterCallback` object to filter the vertices
      Returns:
        an array of iterables to the vertices that have at least one of the keys

    - #### getVerticesPartitioned

          public Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray,
                                                  boolean bSkipStoreToCache,
                                                  int iStartSplitID,
                                                  String[] keys,
                                                  VertexFilterCallback vfc,
                                                  OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an array of iterables to the vertices that have at least one of the keys
      Parameters:
        `kvcArray` - an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;
        `bSkipStoreToCache` - if true, the retrieved elements are not saved into cache
        `iStartSplitID` - the starting split ID
        `keys` - an array of keys
        `vfc` - a `VertexFilterCallback` object to filter the vertices
      Returns:
        an array of iterables to the vertices that have at least one of the keys

    - #### getVerticesWithCustomizedParallelTableScan

          public Iterable<Vertex>[] getVerticesWithCustomizedParallelTableScan(String[] keys)

      Return an array of iterables to the vertices in the graph that have at least one of the given keys
      Parameters:
        `keys` - an array of keys
      Returns:
        an array of iterables to the vertices in the graph that have at least one of the given keys

    - #### getVerticesWithCustomizedParallelTableScan

          public Iterable<Vertex>[] getVerticesWithCustomizedParallelTableScan(String[] keys,
                                                                      VertexFilterCallback vfc,
                                                                      OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an array of iterables to the vertices in the graph that have at least one of the given keys
      Parameters:
        `keys` - an array of keys
        `vfc` - a VertexFilterCallback object to filter the vertices
        `optFlag` - an optimization flag to specify whether the whole or partial vertex object should be returned
      Returns:
        an array of iterables to the vertices in the graph that have at least one of the given keys

    - #### getVerticesWithDefaultParallelTableScan

          public Iterable<Vertex> getVerticesWithDefaultParallelTableScan(String[] keys)

      Return an iterable of vertices in the graph that have at least one of the given keys
      Parameters:
        `keys` - an array of keys
      Returns:
        an iterable of vertices in the graph that have at least one of the given keys

    - #### getVerticesWithDefaultParallelTableScan

          public Iterable<Vertex> getVerticesWithDefaultParallelTableScan(String[] keys,
                                                                 VertexFilterCallback vfc)

      Return an iterable of vertices in the graph that have at least one of the given keys
      Parameters:
        `keys` - an array of keys
        `vfc` - a VertexFilterCallback object to filter the vertices
      Returns:
        an iterable of vertices in the graph that have at least one of the given keys

    - #### getVerticesWithDefaultParallelTableScan

          public Iterable<Vertex> getVerticesWithDefaultParallelTableScan(String[] keys,
                                                                 VertexFilterCallback vfc,
                                                                 OraclePropertyGraphBase.OptimizationFlag optFlag)

      Return an iterable of vertices in the graph that have at least one of the given keys
      Parameters:
        `keys` - an array of keys
        `vfc` - a VertexFilterCallback object to filter the vertices
        `optFlag` - an optimization flag to specify whether the whole or partial vertex object should be returned
      Returns:
        an iterable of vertices in the graph that have at least one of the given keys

    - #### isEdgeAutoIndexEnabled

          public boolean isEdgeAutoIndexEnabled(String key)

      Validate if the edge auto index is currently enabled

    - #### isVertexAutoIndexEnabled

          public boolean isVertexAutoIndexEnabled(String key)

      Validates if the vertex auto index is currently enabled

    - #### query

          public GraphQuery query()

      Generate a query object that can be used to fine tune which edges/vertices are retrieved from the graph
      Specified by:
        `query` in interface `Graph`

    - #### readEdgeFromDB

          public OracleEdge readEdgeFromDB(Long lEID)
                                    throws IOException,
                                           ParseException

      This method reads an edge from the database using the give edge ID. A NULL value will be returned if there is no match in the database.
      Parameters:
        `lEID` - edge ID, MUST NOT be NULL.
      Returns:
        an `OracleEdge` object
      Throws:
        `IOException`
        `ParseException`

    - #### removeAttributeFromAllEdges

          public void removeAttributeFromAllEdges(EdgeOpCallback eoc)

      Removes an attribute from all edges based on the specified EdgeOpCallback.
      Parameters:
        `eoc` - a EdgeOpCallBack object.

    - #### removeAttributeFromAllEdges

          public void removeAttributeFromAllEdges(EdgeOpCallback eoc,
                                         boolean skipStoreToCache,
                                         int dop)

      Removes an attribute from all edges based on the specified EdgeOpCallback.
      Parameters:
        `eoc` - a EdgeOpCallBack object.
        `skipStoreToCache` - if true, the edges instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the edges.

    - #### removeAttributeFromAllEdges

          public void removeAttributeFromAllEdges(EdgeOpCallback eoc,
                                         boolean skipStoreToCache,
                                         int dop,
                                         ProgressListener pl)

      Removes an attribute from all edges based on the specified EdgeOpCallback.
      Parameters:
        `eoc` - a EdgeOpCallBack object.
        `skipStoreToCache` - if true, the edges instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the edges.
        `pl` - a ProgressListener object.

    - #### removeAttributeFromAllVertices

          public void removeAttributeFromAllVertices(VertexOpCallback voc)

      Removes an attribute from all vertices based on the specified VertexOpCallback.
      Parameters:
        `voc` - a VertexOpCallBack object.

    - #### removeAttributeFromAllVertices

          public void removeAttributeFromAllVertices(VertexOpCallback voc,
                                            boolean skipStoreToCache,
                                            int dop)

      Removes an attribute from all vertices based on the specified VertexOpCallback.
      Parameters:
        `voc` - a VertexOpCallBack object.
        `skipStoreToCache` - if true, the vertices instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the vertices.

    - #### removeAttributeFromAllVertices

          public void removeAttributeFromAllVertices(VertexOpCallback voc,
                                            boolean skipStoreToCache,
                                            int dop,
                                            ProgressListener pl)

      Removes an attribute from all vertices based on the specified VertexOpCallback.
      Parameters:
        `voc` - a VertexOpCallBack object.
        `skipStoreToCache` - if true, the vertices instances will not be stored into the cache.
        `dop` - a positive integer defining the number of threads to use when parallel processing the vertices.
        `pl` - a ProgressListener object.

    - #### removeEdge

          public void removeEdge(Edge edge)

      Remove the provided edge from the graph
      Specified by:
        `removeEdge` in interface `Graph`
      Parameters:
        `edge` - an `Edge` object to be removed

    - #### removeVertex

          public void removeVertex(Vertex vertex)

      Remove the provided vertex from the graph
      Specified by:
        `removeVertex` in interface `Graph`
      Parameters:
        `vertex` - a `Vertex` object to be removed

    - #### rollback

          public void rollback()

      Rollbacks the operations done to this property graph instance
      Specified by:
        `rollback` in interface `TransactionalGraph`

    - #### serializableToStr

          public static String serializableToStr(Serializable seri)
                                          throws IOException

      Convert from a Java Serializable object to a String encoding.
      Parameters:
        `seri` - an object of Serializable type. It must not be null.
      Returns:
        the string representation of the Java Serializable object
      Throws:
        `IOException`

    - #### setBatchSize

          public void setBatchSize(int i)

      Set the size of the batch used for update operations.
      Parameters:
        `i` - the batch size to be set

    - #### setClearTableDOP

          public void setClearTableDOP(int dop)

      Sets the number of workers to be used when removing all rows from a table
      Parameters:
        `dop` - degree of parallelism

    - #### setClearTablePKBufferSize

          public void setClearTablePKBufferSize(int size)

      Set the size of the primary key buffer used when removing all rows from a table
      Parameters:
        `size` - buffer size

    - #### setClearTableThreadsPerWorker

          public void setClearTableThreadsPerWorker(int threads)

      Sets the number of threads per clear table worker to be used when removing all rows from a table
      Parameters:
        `threads` - number of threads per clear table worker

    - #### setCustomizedParallelScanDOP

          public void setCustomizedParallelScanDOP(int iDOP)

      Set the dop used for parallel scan

    - #### setDefaultEdgeOptFlag

          public void setDefaultEdgeOptFlag(OraclePropertyGraphBase.OptimizationFlag eof)

      Set the default edge optimization flag associated to this property graph
      Parameters:
        `eof` - an edge OptimizationFlag object to be set to this property graph

    - #### setDefaultIndexParameters

          public void setDefaultIndexParameters(OracleIndexParameters indexParams)

      Set the default index parameters associated to this property graph. The index parameters provided here will be used when an automatic or manual index is to be created without an explicit specification of the index parameters.
      Specified by:
        `setDefaultIndexParameters` in class `OraclePropertyGraphBase`
      Parameters:
        `indexParams` - a `OracleIndexParameters` object.

    - #### setDefaultVertexOptFlag

          public void setDefaultVertexOptFlag(OraclePropertyGraphBase.OptimizationFlag vof)

      Set the default vertex optimization flag associated to this property graph
      Parameters:
        `vof` - an OptimizationFlag object to be set to this property graph

    - #### setEdgeFilterCallback

          public void setEdgeFilterCallback(EdgeFilterCallback efc)

      Set the default EdgeFilterCallback associated to this property graph
      Parameters:
        `efc` - a `EdgeFilterCallback` object to be set to this property graph

    - #### setProgressListener

          public void setProgressListener(ProgressListener pl)

      Sets the ProgressListener associated to this property graph.
      Parameters:
        `pl` - a ProgressListener object.

    - #### setQueueSize

          public void setQueueSize(int size)

      Sets the OracleElement queue size. Flush the queue when reaching this size.

    - #### setTableIteratorOptions

          public void setTableIteratorOptions(oracle.kv.table.TableIteratorOptions tio)

      Sets the TableIteratorOptions object associated to this property graph

    - #### setVertexFilterCallback

          public void setVertexFilterCallback(VertexFilterCallback vfc)

      Set the default VertexFilterCallback associated to this property graph
      Parameters:
        `vfc` - a `VertexFilterCallback` object to be set to this property graph

    - #### shutdown

          public void shutdown()

      A shutdown function is required to properly close the graph.
      Specified by:
        `shutdown` in interface `Graph`
      Specified by:
        `shutdown` in interface `TransactionalGraph`

    - #### startTransaction

          public void startTransaction()

      Start a transaction.

    - #### stopTransaction

          public void stopTransaction(TransactionalGraph.Conclusion conclusion)

      Stop the current transaction.
      Specified by:
        `stopTransaction` in interface `TransactionalGraph`

    - #### strToSerializable

          public static Object strToSerializable(String s)
                                          throws OraclePropertyGraphException,
                                                 IOException,
                                                 IllegalArgumentException

      Convert from a String encoding to a Serializable object
      Parameters:
        `s` - String representation of a Java Serializable object. It MUST not be null.
      Returns:
        an object
      Throws:
        `OraclePropertyGraphException`
        `IOException`
        `IllegalArgumentException`

    - #### toString

          public String toString()

      Returns a very succinct String representation of this Graph instance
      Overrides:
        `toString` in class `Object`

Copyright © 2015 Oracle and/or its afflilates. All Rights Reserved.